/**
 * 文件名：@Renderer.java <br/>
 * 包名：cn.efunbox.afw.core.renderer <br/>
 * 项目名：afw-core <br/>
 * @author xtwin <br/>
 */
package cn.efunbox.afw.core.renderer;

import java.io.Writer;

/**
 * 类名：Renderer  <br />
 *
 * 功能：渲染器定义，用于规范渲染器的行为
 *
 * @author xtwin <br />
 * 创建时间：2015年12月1日 下午3:54:13  <br />
 * @version 2015年12月1日
 */
public interface Renderer {

	/**
	 * 
	 * 功能：按默认的编码方式将指定的模板渲染为字符串返回 <br/>
	 *
	 * @author xtwin <br/>
	 * @version 2013-12-27 下午01:47:08 <br/>
	 */
	String render(String template, Object datas);
	
	/**
	 * 
	 * 功能：使用默认的的编码方式将指定的模板渲染到指定的Writer中 <br/>
	 *
	 * @author xtwin <br/>
	 * @version 2013-12-27 下午01:47:51 <br/>
	 */
	void render(Writer writer, String template, Object datas);
	
	/**
	 * 
	 * 功能：按指定的编码方式将指定的模板渲染到指定的Writer中 <br/>
	 *
	 * @author xtwin <br/>
	 * @version 2013-12-27 下午01:50:36 <br/>
	 */
	void render(Writer writer, String template, String encoding, Object datas);
}
